home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / ietf / acct / acct-minutes-91mar.txt < prev    next >
Text File  |  1993-02-17  |  14KB  |  403 lines

  1.  
  2.  
  3. CURRENT_MEETING_REPORT_
  4.  
  5.  
  6.  
  7. Reported by Cyndi Mills/BBN
  8.  
  9. ACCT Minutes
  10.  
  11. The Internet Accounting Working Group met on Tuesday, Wednesday, and
  12. Thursday to:
  13.  
  14.  
  15.    o Review the results of the February meeting in Boston.
  16.  
  17.  
  18.       -  SNMP security and performance issues.
  19.          SNMP seems a reasonable approach for transporting data, given a
  20.          diskless meter, although FTP or other bulk file transfer
  21.          mechanisms should also be allowed for meters which store
  22.          accounting data on local disks.  Other transport mechanisms may
  23.          be discussed later.
  24.  
  25.       -  Background Document.
  26.          The background document can be released for general comment as
  27.          an Internet Draft after the addition of PICTURES and
  28.          explanations which illustrate how the accounting mechanism
  29.          addresses a variety of scenarios.  It is anticipated that the
  30.          Background Document will be expanded again later.
  31.  
  32.       -  Architecture Document.
  33.          The existing architecture document can be released for general
  34.          comment after revision and the addition of control parameters.
  35.          Before it is released to the Internet Drafts area it will be
  36.          posted to the Working Group mailing list for review.
  37.  
  38.       -  Meter Services and MIB.
  39.          The February discussion of control parameters and reporting
  40.          formats was summarized for continuation.
  41.  
  42.  
  43.    o Discuss control parameters and reporting formats.
  44.  
  45.  
  46.       -  A modified reporting format resulted for further discussion.
  47.  
  48.       -  A set of control functions was developed for further
  49.          discussion.
  50.  
  51.       -  The notion of being able to account differently on different
  52.          interfaces and make finer distinctions resulted in the further
  53.  
  54.                                    1
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.          development of a rule tree similar to those discussed in
  62.          February.
  63.  
  64.       -  The ability to set the granularity of reporting in great detail
  65.          through the use of a rule table was developed for further
  66.          discussion.  The current scheme seems too complex to be readily
  67.          implemented, but serves as a starting point for further work.
  68.          One solution to bounding the problem is defining a short list
  69.          of standard (static) rule tables, without allowing the more
  70.          general case.
  71.  
  72.  
  73.      A rough outline of the reporting format, control functions, rule
  74.      tree, and rule table culled from the meeting notes and slides
  75.      follows these minutes.
  76.  
  77.    o Additional notes about lengthy discussions.
  78.  
  79.  
  80.       -  It was noted that the ADDRESS_ID described in the reporting
  81.          format might be expanded to transport level and beyond (e.g.,
  82.          application level), allowing for a more generalized accounting
  83.          for any protocol stack, but that is beyond the charter of this
  84.          Working Group.
  85.  
  86.       -  It was also noted that attributes might be included in the
  87.          ADDRESS_ID rather than as a separate field of the FLOW_ID.
  88.  
  89.       -  Each packet shall be counted in ONE and ONLY ONE accounting
  90.          record to avoid duplicate counts.  Accounting records may be
  91.          combined by the collection host for additional aggregate
  92.          traffic information.  This is a tentative response to the
  93.          question Can a single packet be counted in multiple buckets of
  94.          a single meter?
  95.  
  96.       -  Meters in routers have special properties, since they are privy
  97.          to the routing decision.  Meters may be modelled as (a) one
  98.          meter per interface (as a passive listener to the interface,
  99.          not privy to the routing decision) or (b) one meter per router,
  100.          aware of the both input and output interfaces for the packet.
  101.          Passive listening devices must have a network address and
  102.          possibly a separate connection to the network in order to be
  103.          managed.  Should routers be modelled as having a single meter
  104.          to avoid complicating management?
  105.  
  106.  
  107. Action Items
  108.  
  109.  
  110.  
  111. Background             Add pictures to Internet Background and revise.
  112.  
  113.                                    2
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.                        If changes are not too substantial, post directly
  121.                        to Internet Drafts.
  122. Architecture           Revise Architecture Document to reflect control
  123.                        requirements and reporting changes.  Post to
  124.                        Working Group mailing list for (time-limited)
  125.                        review before posting to Internet Drafts.
  126. Meter Services         Make a stab at reducing the granularity control
  127.                        (rule table) problem to a manageable level.
  128.                        Further specify control parameters with the goal
  129.                        of creating a MIB.
  130. Co-ordinate            Coordinate with Remote LAN MIB and Operational
  131.                        Statistics Working Goups since they may be
  132.                        tackling similar problems of granularity control.
  133.  
  134.  
  135.  
  136. REPORTING FORMAT (notes from discussion, not a precision
  137. representation):
  138.  
  139.  
  140. Accounting Record ::=[ Meter ID and Unique Address provided by SNMP ]
  141.    Start Time TIMESTAMP, [ optional ?  ]
  142.    End Time TIMESTAMP, [ should be current time ?  ]
  143.    Rule_Table ID? [ something might be needed here ...]
  144.    SEQUENCE OF FLOW_RECORD. [ number of records, followed by records ]
  145.  
  146. FLOW_RECORD::=
  147.    Flow FLOW_ID,
  148.    Values VALUES.
  149.  
  150. FLOW_ID::=
  151.    [0] Source ADDRESS_ID [ must have source or destination ]
  152.    [1] Destination ADDRESS_ID or both ]
  153.    [2] Subscriber_ID ADDRESS_ID [ optional ]
  154.    [ Attributes not defined yet ]
  155.  
  156. VALUES::= [ rolling counters ]
  157.    Fragments_Sent COUNT,
  158.    Fragments_Rcvd COUNT, [ packets in the reverse direction are counted
  159.                           here to avoid maintaining two accounting
  160.                           records for a communicating pair - should'nt
  161.                           this be optional for source or destination
  162.                           only flow ids?  ]
  163.    Bytes_Sent COUNT,
  164.    Bytes_Rcvd COUNT, [ byte count of reverse flow ]
  165.    First_Time TIMESTAMP, [ time first packet in flow seen if different
  166.                           from meter start time ]
  167.    Last_Time TIMESTAMP. [ time last packet in flow seen if different
  168.                           from meter stop time ]
  169.  
  170.  
  171.                                    3
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178. ADDRESS_ID::= [ some fields may be null, i.e., don't care ]
  179.    [1] INTERFACE_INDEX INTEGER, [ as defined by SNMP ]
  180.    [2] LINK LEVEL ADDRESS NETWORK_ADDRESS,
  181.    [3] INTERNET ADDRESS NETWORK_ADDRESS,
  182.    [0] STRING OF OCTETS. [ anything else used as unique ID ].
  183.  
  184. NETWORK_ADDRESS ::=
  185.    Choice of {
  186.             [1] IP ADDRESS. (TCP/IP)
  187.             [2] NSAP ADDRESS. (OSI) variable length.
  188.             [n] X.25 Address (CCITT)
  189.             [m] MAC (LLC)
  190.             [x] STRING OF OCTETS. (any other arbitrary address) }
  191.  
  192. COUNT::=
  193.    Extensible_Integer SEQUENCE OF OCTETS.
  194.  
  195.  
  196.  
  197. TIMESTAMP ::= [ defined by SNMP already, either absolute time or
  198. ticks/seconds/since meter boot time ]
  199.  
  200. CONTROL PARAMETERS (notes under discussion):
  201.  
  202. Meter to Management:  (traps)
  203.  
  204. DECLARE DATA LOSS Trap to let manager know that accounting data is being
  205. lost.
  206.  
  207. DECLARE HIGH WATER Trap to request that manager increase polling
  208. interval.  (Used when number of flows increases.)
  209.  
  210. DECLARE FLOOD/FLUSH Trap dumping the flow records currently being
  211. monitored by the meter.  (Lower priority first?)
  212.  
  213. Management to meter:  (polls and control)
  214.  
  215. SET HIGH WATER MARK A the meter when to send a trap indicating that the
  216. management station should increase the polling interval.
  217.  
  218. SET FLOOD MARK A how full the table SHOULD be before the meter considers
  219. panicking and dumping the contents of the meter to the management
  220. station in raw (SNMP OPAQUE) form.
  221.  
  222. SET FLOW TERMINATION PARAMETERS The meter should have the good sense in
  223. situations where lack of resources may cause data loss to purge flow
  224.  
  225.                                    4
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232. records from its tables which (a) have already been reported and show no
  233. activity since the last report (b) oldest flows or (c) flows with the
  234. smallest number of unreported packets
  235.  
  236. - TIMEOUT The time in seconds since last packet seen (and last report)
  237. after which the flow may be terminated.
  238.  
  239. - MAX LIFETIME Guidelines for the maximum lifetime of a flow.  (Not
  240. mandatory, but the meter should make an effort at reporting time to
  241. purge flows that have had a lifetime greater than this value, even if it
  242. results in the instantaneous creation of a new flow with identical
  243. parameters.
  244.  
  245. SET FLOW PRIORITY [ REPORTING MASK] (mask is an 8-bit quantity) Tell
  246. meter which flows are considered ``critical'' - i.e., in a crisis
  247. situations which flows can least afford to lose data.  Reporting mask is
  248. set by the RULES TABLE in the SET GRANULARITY operation.
  249.  
  250. REPORT [ REPORTING MASK (0 or default indicates report ALL)] Poll to
  251. meter indicating that a normal report of indicated flows should be made
  252. (i.e., any flow whose rule has indicated that it has a bit set which is
  253. set in the mask.
  254.  
  255. SET GRANULARITY [ RULE TABLE ] see RULE TABLE
  256.  
  257. RULE TABLE: (Editorial comment from the Chair:  This is all a very large
  258. pie in the sky and not to be sliced seriously yet.)
  259.  
  260. SEQUENCE OF NUMBERED RULES.
  261.  
  262.  
  263. RULE::=
  264.    Field FIELD_DESCRIPTOR.
  265.    [ Operator OPERATOR_DESCRIPTOR. ]
  266.    Mask.  MASK_DESCRIPTOR.
  267.    LIST OF ACTION_PAIRS.
  268.  
  269. FIELD_DESCRIPTOR ::=
  270.    Length INTEGER. (0 is permitted to indicate lack of interest.)
  271.    CHOICE OF:
  272.             NETWORK ADDRESS. (including arbitrary strings)
  273.             RESULT (VALUE) OF PREVIOUS MASKING OPERATION>.
  274.  
  275.  
  276.  
  277. OPERATOR_DESCRIPTOR ::= The source of much discussion on overhead,
  278.  
  279.                                    5
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286. complexity, and feasibility.  Is anding and testing for equality to the
  287. mask good enough or do we need to define a set of allowed operations?
  288.  
  289. MASK_DESCRIPTOR: A MASK of a length less than or equal to the field.
  290. (Otherwise there is no match.  1's set in the mask indicate bits which
  291. are of interest.  Actually, is is defined to be other identical to the
  292. field_descriptor.  (LENGTH followed by RESULT or NETWORKADDRESS.)
  293.  
  294. ACTION_PAIR. VALUE or RANGE OF VALUES. If the results of the masking
  295. operation fit this value or range of values, perform the following
  296. actions.
  297.  
  298.  
  299. Choice of:
  300.             CONDENSE (FLAGS, FIELD_DESCRIPTOR, [SUBSCRIBER_ID])
  301.             EXPAND (FLAGS, FIELD_DESCRIPTOR, {SUBSCRIBER_ID])
  302.             IGNORE.
  303. GO TO RULE NUMBER X.
  304.  
  305.  
  306.  
  307. CONDENSE indicates that the flow-record should use the designated FIELD
  308. as the source or destination address (or attribute) in the FLOW-ID,
  309. along with the designated SUBSCRIBER_ID (also a FIELD_DESCRIPTOR).
  310. (Condense implies that all packets parsing to this point will be counted
  311. in a single bucket.)
  312.  
  313. EXPAND is just like condense, except the the FIELD_DESCRIPTOR indicates
  314. that the packets which parse to this point should be placed in multiple
  315. flows with source or destination address (or attribute) as designated by
  316. the the FIELD_DESCRIPTOR.
  317.  
  318. IGNORE indicates that we don't count this type of packet at all.
  319.  
  320. USE RULE NUMBER N indicates (theoretically) that the RESULT OF PREVIOUS
  321. MASKING OPERATION is set to the result of the FIELD VALUE  &  (anded
  322. with) the mask value, and the nth rule of the RULE TABLE is invoked
  323. next.  This concept is disturbing because it allows for spaghetti tables
  324. that dont make sense.  At this point a rule compiler front end becomes
  325. necessary...<sigh>
  326.  
  327.  
  328. NETWORK_ADDRESS ::= [this should follow reporting format]
  329.    Choice of {
  330.             [0] IP ADDRESS. (TCP/IP)
  331.             [1] NSAP ADDRESS. (OSI) variable length.
  332.             [n] X.25 Address (CCITT)
  333.  
  334.                                    6
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.             [m] MAC (LLC)
  342.             [x] STRING OF OCTETS. (any other arbitrary identifier)}
  343.  
  344.  
  345.  
  346. Notes on Rules
  347.  
  348. Note that each packet can only by counted within ONE FLOW, so that if
  349. all possible flows are added, the number should equal the total number
  350. of packets processed.
  351.  
  352. If there are multiple ways a packet should be processed, the rules
  353. should deposit enough information in the flow record (i.e.  flow-id) so
  354. that the packet can be POST-PROCESSED to be counted in multiple billing
  355. categories.
  356.  
  357. The RESULT field preceding the root of the tree is considered to be a
  358. zero length field.
  359.  
  360. All rule tables must in fact map into non-looping binary trees, or we
  361. won't be responsible for the result (To save space sub-trees may be
  362. shared by different branches and recursion may be used, as long as it
  363. can be shown that no infinite loops can occur Caveat emptor and all
  364. that.).  When address tests are used (field = address type), recommend
  365. performing tests on the interface number first, the link level address
  366. second, the network address third, and the attributes (if any are
  367. defined later) last.  Within an address type, test the source address
  368. first and the destination address last.
  369.  
  370. Attendees
  371.  
  372. Sean Donelan             sean@dra.com
  373. Martin Dubetz            dubetz@wugate.wustl.edu
  374. Gary Ellis               garye@hpspd.spd.hp.com
  375. Charles Fineberg         fineberg@wums2.wustl.edu
  376. Dave Geurs               dgeurs@mot.com
  377. Keith Hacke              hacke@informatics.wustl.edu
  378. Donald Hirsh             hirsh@meridian.uucp
  379. Cyndi Mills              cmills@bbn.com
  380. Agnes Moran
  381. Chris Myers              chris@wugate.wustl.edu
  382. Kary Robertson           kr@concord.com.kr
  383. Gregory Ruth             gruth@bbn.com
  384. George Sanderson         sanderson@mdc.com
  385. Jonathan Saperia         saperia@decwrl.enet.dec.com
  386. Anil Singhal
  387. Kaj Tesink               kaj@nvuxr.cc.bellcore.com
  388. Paul Tsuchiya            tsuchiya@bellcore.com
  389.  
  390.                                    7
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397. Sudhanshu Verma          verma@hpindbu.cup.hp.com
  398. Steve Witten
  399.  
  400.  
  401.  
  402.                                    8
  403.